Virtual meeting integration with customer relationship management platform

ABSTRACT

A customer relationship management (CRM) platform may use data objects to store data associated with a virtual meeting. The CRM platform may store information about a virtual meeting in a meeting object, and store information about meeting participants in participant objects linked to the meeting object. The CRM platform may also store meeting information, returned from a separate virtual meeting platform that will host the virtual meeting, in the meeting object and the participant objects. Accordingly, the CRM platform can use the meeting object and participant objects to display meeting information in a user interface, allow users to edit meeting details via the CRM platform, and/or allow users to join the virtual meeting via the CRM platform without separately logging in to the virtual meeting platform.

RELATED APPLICATIONS

This U.S. patent application is a continuation of, and claims priorityto, U.S. patent application Ser. No. 17/710,312, filed on Mar. 31, 2022,which claims priority to provisional U.S. Patent Application No.63/168,863, entitled “VIRTUAL MEETING INTEGRATION WITH CUSTOMERRELATIONSHIP MANAGEMENT PLATFORM,” filed on Mar. 31, 2021, the entiretyof which is incorporated herein by reference.

TECHNICAL FIELD

The present disclosure relates to virtual meetings held via computingdevices, particularly with respect to scheduling and managing virtualmeetings via a customer relationship management platform.

BACKGROUND

Virtual meetings have become a useful and convenient alternative totelephone calls or in-person meetings. For example, when an agent of abusiness and a customer of the business are unable to meet in person dueto scheduling issues, transportation issues, health concerns, or otherreasons, the agent and the customer may meet via a virtual meetingconducted over the Internet.

Businesses may also use customer relationship management (CRM) platformsto track information about customers, including current customers, pastcustomers, and prospective customers. For example, a CRM platform maytrack customer account data, sales information associated with sales ofproducts or services to customers, historical contact informationindicating when the business has contacted customers in the past, and/orother information associated with customers.

However, existing CRM platforms generally do not include virtual meetingfeatures that enable agents to engage in virtual meetings withcustomers. Accordingly, if an agent is using a CRM platform to reviewinformation about a customer, the agent may need to use other software,separate from the CRM platform, to schedule and hold a virtual meetingwith that customer. For instance, while the agent may primarily use theCRM platform throughout his or her workday, the agent may need to switchto another application, web browser tab, window, or other softwareelement on a computing device to schedule and/or hold a virtual meetingwith a customer. In some cases, the agent may need to register for aseparate account with a virtual meeting platform, and accordingly mayneed to log into the virtual meeting platform using different logincredentials than the agent uses to access the CRM platform. Overall,this process can be cumbersome and/or inconvenient for the agent.Scheduling and managing virtual meetings via separate applications,browser tabs, or other software elements, outside the CRM platform theagent is already using, can also lead to increased usage of memory,processing cycles, and/or other computing resources.

Further, scheduling and managing virtual meetings outside the CRMplatform may hinder the ability of the CRM platform to track when theagent communicated with a customer via a virtual meeting, and/or analyzewhether the virtual meeting led to sales or other customer metricstracked by the CRM platform. For example, if the CRM platform isconfigured to track historical data about communication between theagent and customers, the agent may forget to note in the CRM platformthat a virtual meeting with a customer was held outside the CRM platformon a certain date. The CRM platform may therefore lack information aboutthe virtual meeting, and thus be unable to determine that the virtualmeeting may have contributed to a later sale to the customer.

The example systems and methods described herein may be directed towardmitigating or overcoming one or more of the deficiencies describedabove.

SUMMARY

Described herein are systems and methods for scheduling and managingvirtual meetings via a CRM platform. The CRM platform may store ameeting object in memory that represents a virtual meeting, as well asone or more participant objects that represent one or more individualparticipants associated with the virtual meeting. The CRM platform maystore data in the meeting object and the one or more participant objectsbased on user input provided about the virtual meeting and individualparticipants. The CRM platform may further interact with a separatevirtual meeting platform to schedule a virtual meeting room for thevirtual meeting, and may store meeting data returned by the virtualmeeting platform in the meeting object and/or the one or moreparticipant objects. The CRM platform may also automatically sendmeeting invitations to invited participants. The CRM platform mayfurther have a user interface that allows users to view and/or editinformation about scheduled virtual meetings, and that allows users tojoin a scheduled virtual meeting hosted by the separate virtual meetingplatform directly from the CRM platform. Accordingly, the systems andmethods described herein can streamline scheduling and management ofvirtual meetings by allowing users to schedule and manage virtualmeetings via the CRM platform even though the virtual meetings may behosted by a separate virtual meeting platform.

According to a first aspect, a computer-implemented method can includereceiving, by one or more processors associated with a CRM platform,meeting attributes of a virtual meeting, and participant attributes of aparticipant associated with the virtual meeting. The method can alsoinclude generating, by the one or more processors, a meeting object thatstores the meeting attributes, wherein the meeting object is a firstdata object stored in memory associated with the CRM platform. Themethod can further include generating, by the one or more processors, aparticipant object that stores the participant attributes, wherein theparticipant object is a second data object stored in the memory and isassociated with the meeting object by the CRM platform. The method canalso include transmitting, by the one or more processors, at least onemeeting request to a virtual meeting platform, wherein the at least onemeeting request includes data from one or more of the meeting object andthe participant object. The method can include receiving, by the one ormore processors, meeting setup data from the virtual meeting platform inresponse to the at least one meeting request, and storing, by the one ormore processors, elements of the meeting setup data in the meetingobject and the participant object. The method can also include causing,by the one or more processors, display of a user interface of the CRMplatform associated with the virtual meeting, wherein the user interfaceis configured to present the meeting attributes based on the meetingobject and present the participant attributes based on the participantobject. The method can additionally include causing, by the one or moreprocessors, a host device to be redirected from the CRM platform to thevirtual meeting platform based on a user instruction to join the virtualmeeting received via the user interface.

According to a second aspect, one or more computing devices, associatedwith a CRM platform, can include one or more processors and memory. Thememory can store data objects associated with the CRM platform,including a meeting object configured to store meeting attributes of avirtual meeting, and a participant object configured to storeparticipant attributes of a participant associated with the virtualmeeting, wherein the participant object is associated with the meetingobject in the CRM platform. The memory can further storecomputer-executable instructions that, when executed by the one or moreprocessors, cause the one or more computing devices to performoperations. The operations can include transmitting a meeting request toa virtual meeting platform based on the meeting object and theparticipant object, and receiving meeting setup data from the virtualmeeting platform in response to the meeting request. The meeting setupdata can include a meeting identifier associated with a virtual meetingroom, and a meeting URL associated with the virtual meeting room. Theoperations can also include storing the meeting identifier in themeeting object, and storing the meeting URL in the participant object.The operations can further include sending an electronic meetinginvitation to an email address of the participant stored in theparticipant object, wherein the electronic meeting invitation includesthe meeting attributes based on the meeting object, and the meeting URLbased on the participant object. The operations can also include causingthe CRM platform to display a user interface that presents the meetingattributes based on the meeting object and presents the participantattributes based on the participant object.

According to a third aspect, one or more non-transitorycomputer-readable media can store computer-executable instructionsassociated with a CRM platform that, when executed by one or moreprocessors, cause the one or more processors to perform operations. Theoperations can include receiving, via the CRM platform, meetingattributes of a virtual meeting and participant attributes of aparticipant associated with the virtual meeting. The operations canfurther include storing the meeting attributes, in memory of the CRMplatform, in a meeting object, and storing the participant attributes,in the memory of the CRM platform, in a participant object, wherein theparticipant object is associated with the meeting object by the CRMplatform. The operations can also include transmitting a meeting requestfrom the CRM platform to a virtual meeting platform based on the meetingobject and the participant object, and receiving meeting setup data fromthe virtual meeting platform in response to the meeting request. Themeeting setup data can include a meeting identifier associated with avirtual meeting room, and a meeting URL associated with the virtualmeeting room. The operations can also include storing the meetingidentifier in the meeting object, and storing the meeting URL in theparticipant object. The operations can further include sending anelectronic meeting invitation to an email address of the participantstored in the participant object, wherein the electronic meetinginvitation includes the meeting attributes based on the meeting object,and the meeting URL based on the participant object. The operations canadditionally include causing the CRM platform to display a userinterface that presents the meeting attributes based on the meetingobject and presents the participant attributes based on the participantobject.

BRIEF DESCRIPTION OF THE DRAWINGS

The detailed description is set forth with reference to the accompanyingfigures. In the figures, the left-most digit(s) of a reference numberidentifies the figure in which the reference number first appears. Theuse of the same reference numbers in different figures indicates similaror identical items or features.

FIG. 1 shows an example of a system that integrates a CRM platform witha virtual meeting platform.

FIG. 2 shows an example of a meeting setup user interface that can bedisplayed via the CRM platform.

FIGS. 3A-3C show examples of a meeting detail user interface that can bedisplayed via the CRM platform.

FIG. 4 shows a flowchart of an example process by which the CRM platformcan schedule and manage a virtual meeting associated with the virtualmeeting platform.

FIG. 5 shows an example system architecture for a computing deviceassociated with the system described herein.

DETAILED DESCRIPTION

FIG. 1 shows an example of a system 100 that integrates a CRM platform102 with a virtual meeting platform 104. Integration between the CRMplatform 102 and the virtual meeting platform 104 can enable users touse the CRM platform 102 to schedule, manage, and join virtual meetingsthat are held via the virtual meeting platform 104. In some examples,the CRM platform 102 may track information about scheduled virtualmeetings and participants associated with the virtual meetings, andanalyze the meeting information in association with other types ofcustomer data tracked by the CRM platform 102.

The CRM platform 102 may be a software application, a cloud-basedapplication or service, or other type of platform that users can accessvia computing devices, such as the host device 106 shown in FIG. 1 . Thehost device 106 can be a personal computer (PC), such as a laptop,desktop, or workstation, a smart phone, a tablet computer, a personaldigital assistant (PDA), another type of mobile device, or any othertype of computing or communication device. In some examples, CRMplatform 102 can execute via one or more remote servers, and the hostdevice 106 can access the CRM platform 102 via the Internet and/or otherdata networks. In other examples, the host device 106 may locallyexecute the CRM platform 102 or access the CRM platform 102 via a localnetwork.

The CRM platform 102 may be configured to store information aboutcustomers of a business, including current customers, past customers,and prospective customers. The CRM platform 102 can be configured tostore data in memory using data objects. Data objects stored by the CRMplatform can have one or more fields, or other data storage elements,that can hold defined types of data. For example, the CRM platform 102may use various types of data objects to store, in memory, customeraccount data, sales information associated with sales of products orservices to customers, historical contact information indicating whenthe business has contacted customers in the past, and/or otherinformation associated with customers. As will be described below, theCRM platform can also create and store data objects associated withvirtual meetings, and with participants associated with such virtualmeetings.

The CRM platform 102 may have a user interface (UI) that can bedisplayed via the host device 106 and/or other computing devicesassociated with authorized users of the CRM platform 102. The UI of theCRM platform 102 may allow a user to view and/or edit data stored in oneor more data objects. For example, the CRM platform 102 may allow usersto view customer information, search for customer information, editcustomer information, input new customer information, and/or otherwiseinteract with customer information stored by the CRM platform 102.

Data objects may be associated with corresponding UI views. Accordingly,information stored in association with particular types of data objectscan be input, displayed, edited, and/or otherwise interacted with viaone or more UI views that correspond to the data objects. Example UIviews associated with data objects are shown with respect to FIGS. 2 and3A-3C, and are described below with respect to those figures.

The CRM platform 102 may be associated with the virtual meeting platform104. In some examples, the virtual meeting platform 104 may be separatefrom the CRM platform 102. For example, the virtual meeting platform 104may execute on different servers than the CRM platform 102, be operatedby a different entity than the CRM platform 102, and/or otherwise beseparate from the virtual meeting platform 104. In other examples, thevirtual meeting platform 104 may be a component of the CRM platform 102.

The virtual meeting platform 104 may provide and host a virtual meetingroom 108 associated with a virtual meeting. The virtual meeting room 108may allow users who join the virtual meeting to see each other via videocaptured by respective computing devices of the users, and/or hear eachother via audio captured by respective computing devices of the users.In some examples, the virtual meeting room 108 may also allow users todigitally share documents, collaborate on shared documents, share imagesdisplayed on screens of their respective computing devices, communicatevia text chat, and/or engage in other virtual meeting features.

The virtual meeting room 108 for a virtual meeting can be accessible bythe host device 106, as well as by computing devices of one or moreother participants invited to the virtual meeting. For example, the hostdevice 106 and a participant device 110 can both access the virtualmeeting room 108. Users of the devices, such that a host that operatesthe host device 106 and a participant that operates the participantdevice 110, can accordingly attend the virtual meeting by accessing thevirtual meeting room 108 via their respective devices. Similar to thehost device 106, the participant device 110 can be a PC, a smart phone,a tablet computer, a PDA, another type of mobile device, or any othertype of computing or communication device. In some examples, the virtualmeeting platform 104 may provide the virtual meeting room 108 via one ormore web pages, such that the host device 106 and the participant device110 may use web browsers to access the virtual meeting room 108 via theInternet. Although only one participant device 110 is shown in FIG. 1 ,different participants may use different participant devices to accessthe same virtual meeting room in situations in which a host invitesmultiple other participants to a virtual meeting.

In some examples, a participant may be a customer or prospectivecustomer of the host associated with the host device 106. The hostassociated with the host device 106 may use the CRM platform 102 totrack customer information over time as described above. The host mayuse the CRM platform 102 to invite one or more customers as participantsto a virtual meeting. For instance, a host who is an insurance agent mayinvite a husband and wife as two different participants to a singlevirtual meeting, so that the host may discuss available insuranceoptions with the husband and wife together if both individuals are usingdifferent participant devices. In other examples, a participant may bean associate, partner, or other party associated with the host. Forexample, if a first participant speaks Spanish and the host does notspeak Spanish, the host may invite a Spanish-language translator as asecond participant to a virtual meeting that has been scheduled with thefirst participant. As another example, if the host specializes inselling certain products or services, the host may invite a partner oraffiliate who specializes in different products or services as anadditional participant to a virtual meeting that has been scheduled withone or more customers.

The host device 106, or another computing device authorized to accessthe CRM platform 102, may schedule a virtual meeting via the CRMplatform 102. For example, if a virtual meeting is to be scheduledbetween a host and one or more other participants, the host may use thehost device 106 to provide attributes of the virtual meeting to the CRMplatform 102. Alternatively, another user associated with the host, suchas an assistant or other staff member associated with the host, may login to the CRM platform 102 via the host device 106 or another computingdevice, and provide user input associated with a virtual meeting.

For instance, a host, or another user associated with the host, mayprovide user input to the CRM platform 102 indicating a date for avirtual meeting, a start time for the virtual meeting, a duration and/oran end time for the virtual meeting, an indication of the purpose of thevirtual meeting, and/or any other details or attributes associated withthe virtual meeting. The user may use a UI of the CRM platform 102 toprovide virtual meeting attributes, such as the meeting setup UI 200shown and described below with respect to FIG. 2 . The user may also usea UI of the CRM platform 102 to provide user input indicatinginformation about one or more participants, different from the host, tobe invited to the virtual meeting. The user may also use a UI of the CRMplatform 102 to view information about the virtual meeting, editattributes of the virtual meeting, and/or add participants to thevirtual meeting, for example as shown and described below with respectto FIGS. 3A-3C.

As a non-limiting example, the host device 106 may be associated with aninsurance agent who uses the CRM platform 102 to track information aboutcustomers and/or prospective customers, such as current insurancepolicyholders, prospective customers the insurance agent has previouslycontacted about potentially purchasing insurance policies, and/orprospective customers the insurance agent plans to contact aboutpotentially purchasing insurance policies. In this example, theinsurance agent, or a member of the insurance agent's staff, may accessthe CRM platform 102 via the host device 106 or another computingdevice, and provide user input to the CRM platform 102 associated with anew virtual meeting with a particular customer.

The CRM platform 102 can be configured to send a meeting request 112associated with a virtual meeting to the virtual meeting platform 104,based on virtual meeting attributes provided by a user to the CRMplatform 102. For example, the meeting request 112 may indicate a date,time, duration, participant information, and/or other attributes of avirtual meeting, based on user input provided to the CRM platform 102.

The virtual meeting platform 104 may create the virtual meeting room108, or schedule the virtual meeting room 108 to be created before therequested start time of the virtual meeting, in response to the meetingrequest 112. The virtual meeting platform 104 may assign one or morevirtual meeting identifiers to the created or scheduled virtual meetingroom 108, such as a meeting identifier, a room identifier, or a sessionidentifier. Virtual meeting identifiers may be names, numbers, stringsof alphanumeric characters, or any other types of identifiers.

The virtual meeting platform 104 may return meeting setup data 114associated with the virtual meeting room 108 to the CRM platform 102, inresponse to the meeting request 112. For example, the meeting setup data114 may indicate a virtual meeting identifier assigned by the virtualmeeting platform 104 to the virtual meeting room 108.

In some examples, the meeting request 112 and/or the meeting setup data114 can be exchanged between the CRM platform 102 and the virtualmeeting platform 104 using at least one Application ProgrammingInterface (API) associated with the virtual meeting platform 104. Forexample, the meeting request 112 can be sent by the CRM platform 102using an API call associated with the virtual meeting platform 104 thathas been defined for the scheduling of new virtual meetings.

As will be discussed below, the CRM platform 102 may also send a similarmeeting request to the virtual meeting platform 104 using the same typeof API call, or a different type of API call, to update apreviously-scheduled virtual meeting. For instance, after a virtualmeeting has been scheduled according to a first meeting request, the CRMplatform 102 may later use an update API to send a second meetingrequest to the virtual meeting platform 104. The second meeting requestmay be a request to change attributes of a previously scheduled virtualmeeting. For instance, the second meeting request may request that adate or time associated with the scheduled virtual meeting be changed,request that participants be added or removed from the scheduled virtualmeeting, and/or request that any other details about the scheduledvirtual meeting be changed. The CRM platform 102 may send any number ofmeeting requests to the virtual meeting platform 104 to schedule newvirtual meetings and/or change attributes of scheduled virtual meetings.The virtual meeting platform 104 may respond to such meeting requests byreturning corresponding meeting setup data 114 to the CRM platform 102to confirm that requested virtual meetings have been scheduled, or thatchanges have been made to previously scheduled virtual meetings.

As discussed above, the CRM platform 102 can be configured to store datain memory using data objects. Some of these data objects can beassociated with virtual meetings, including meeting objects andparticipant objects. For instance, a meeting object 116 may store dataabout a particular virtual meeting that is the process of beingscheduled, or that has been scheduled. A participant object 118 maystore data about a particular participant who has been, or will be,invited to the virtual meeting represented by the meeting object 116.Although only one participant object is shown in FIG. 1 , the CRMplatform 102 may use distinct participant objects to represent distinctparticipants associated with the same virtual meeting. For example, ifthe meeting object 116 represents a particular virtual meeting, andthree participants are invited to that virtual meeting, the CRM platform102 can create three distinct participant objects that correspond withthe three respective participants.

The CRM platform 102 can link the meeting object 116 with theparticipant object 118 to indicate that the participant represented bythe participant object 118 has been, or will be, invited to the virtualmeeting represented by the meeting object 116. For example, the CRMplatform 102 may have unique object identifiers for each data object.The CRM platform 102 can accordingly store an object identifier of theparticipant object 118 in the meeting object 116, and/or store an objectidentifier of the meeting object 116 in the participant object 118, toreflect the relationship between the meeting object 116 and theparticipant object 118. In other examples, the CRM platform 102 canstore other types of information about relationships between two or moredata objects, such as mapping tables, data objects or other datastructures that store relationship information, and/or other types ofrelationship data.

In some situations, there may be a one-to-one relationship between ameeting object and a participant object. For example, if only oneparticipant is associated with a virtual meeting represented by themeeting object 116, and that participant is represented by theparticipant object 118, the CRM platform may indicate that the meetingobject 116 is linked to the participant object 118 via a one-to-onerelationship.

However, in other situations, there may be a one-to-many relationshipbetween a single meeting object and multiple participant objects. Forinstance, if multiple participants, beyond a host, are associated with avirtual meeting, the CRM platform 102 can create and store a differentparticipant object for each participant. Each of the differentparticipant objects can be linked to the same meeting object in the CRMplatform 102. As a non-limiting example, if a host invites three otherparticipants to a single virtual meeting represented by meeting object116, the CRM platform 102 may create three different participantobjects, and store data associated with each of the three participantsin different participant objects. The CRM platform 102 may link thethree different participant objects to meeting object 116. Accordingly,the links between the meeting object 116 and the three participantobjects can indicate that the three participants represented by thethree participant objects are associated with to the virtual meetingrepresented by the meeting object 116.

Accordingly, the CRM platform 102 can use the meeting object 116 and atleast one participant object 118 to store information about a particularvirtual meeting. Data stored in the meeting object 116 and the at leastone participant object 118 may be derived from direct user input aboutthe meeting provided by a user to the CRM platform 102 as discussedabove, and/or be derived from the meeting setup data 114 returned fromthe virtual meeting platform 104.

The meeting object 116 may represent the virtual meeting. The meetingobject 116 may store data about the date of the virtual meeting, startand/or end times of the virtual meeting, a duration of the virtualmeeting, a purpose of the virtual meeting, and/or other attributes ofthe virtual meeting that may have been provided to the CRM platform 102as user input from the host device 106 or another computing device. Themeeting object 116 may also store other data about the virtual meetingprovided by the virtual meeting platform 104, such as a virtual meetingidentifier included in the meeting setup data 114. In some examples, themeeting object 116 may also store other types of information about thevirtual meeting, such as status information indicating whether setup ofthe virtual meeting is complete or is still in progress.

A participant object, such as the participant object 118, may representa particular participant to a virtual meeting. The participant objectmay store data about attributes of the participant, such as theparticipant's name, email address, and/or other information about theparticipant. Such participant information may have been provided to theCRM platform 102 as user input from the host device 106 or othercomputing device.

In some examples, a participant object may also include informationprovided to the CRM platform 102, by the virtual meeting platform 104,in meeting setup data 114. For example, the virtual meeting platform 104may be configured to generate a unique Uniform Resource Locator (URL)for each participant to the same virtual meeting. Accordingly, eachparticipant to the virtual meeting can use a different unique URL toaccess the same virtual meeting room 108. Having a unique URL for eachparticipant can enable the virtual meeting platform 104 to track whichparticipants have joined the virtual meeting based on which URLs usersuse to join the virtual meeting. For example, if a user uses aparticular unique URL to join the virtual meeting, the virtual meetingplatform 104 may prevent any other user from using that same particularunique URL to join the virtual meeting. Having a unique URL for eachparticipant may accordingly enhance security and/or privacy of thevirtual meeting, as participant URLs for the virtual meeting may not beable to be shared or used by multiple participants. Having a unique URLfor each participant may also be convenient and user-friendly forparticipants. For example, because unique URLs can be specific toindividual participants, participants who use such unique URLs can belogged in to the virtual meeting room 108 directly without establishingan account with the virtual meeting platform 104 or having to enter usercredentials upon joining the virtual meeting. In these examples, themeeting setup data 114 may include a unique URL for each participant,and the CRM platform 102 can store the unique URL for each participantin corresponding participant objects.

As noted above, the CRM platform 102 may send multiple meeting requeststo the virtual meeting platform 104 associated with a particular virtualmeeting. For example, if a user uses the CRM platform 102 to edit a timeor date of a scheduled virtual meeting, or otherwise edits informationabout a scheduled virtual meeting, the CRM platform 102 may store editedattributes of the virtual meeting in the meeting object 116, and maysend a new meeting request to the virtual meeting platform 104. The newmeeting request can include the previously-determined virtual meetingidentifier associated with the virtual meeting, and the newly-editedattributes of the virtual meeting. The new meeting request can be ameeting update request, and can accordingly cause the virtual meetingplatform 104 to adjust the scheduling and/or configuration of thevirtual meeting, and/or virtual meeting room 108, associated with thepreviously-determined virtual meeting identifier based on thenewly-edited attributes. In this example, the virtual meeting platform104 may return additional meeting setup data to the CRM platform 102confirming the changes to the virtual meeting.

As another example, if a user uses the CRM platform 102 to add a newparticipant to a scheduled virtual meeting, the CRM platform 102 maysend another meeting request to the virtual meeting platform 104 to addthe new participant. The meeting request may be a meeting updaterequest, or new participant request, that includes thepreviously-determined virtual meeting identifier associated with thevirtual meeting and includes information about the added participant, orotherwise indicates that a new participant is to be added to the virtualmeeting. In this example, the virtual meeting platform 104 may returnadditional meeting setup data to the CRM platform 102 confirming thatthe additional participant has been added to the virtual meeting. Inexamples in which the virtual meeting platform 104 provides a unique URLfor each participant to a virtual meeting, the meeting setup datareturned by the virtual meeting platform 104 can include a new uniqueURL that the added participant can use to access the virtual meeting,and the CRM platform 102 can store the new unique URL in a participantobject associated with the newly added participant.

After the CRM platform 102 has created a participant object for aparticipant, and has received meeting setup data 114 for a scheduledvirtual meeting associated with the participant from the virtual meetingplatform 104, the CRM platform 102 can be configured to generate andsend a meeting invitation 120 to an email account, telephone number,and/or other type of contact information associated with theparticipant. In some examples, the CRM platform 102 can use an emailaddress or other contact information associated with the participant,stored in the participant object 118, to address and send the meetinginvitation 120. For instance, the meeting invitation 120 may be anautomatically-generated email, text message, or other notification,which the participant may receive via the participant device 110.

The meeting invitation 120 may include information about the scheduledvirtual meeting, based on information in a meeting object 116 and/or theparticipant object 118. For example, the meeting invitation 120 mayinclude predefined text and/or images based on a template, a descriptionof the virtual meeting based on meeting purpose information stored inthe meeting object 116, a time and date of the scheduled virtual meetingbased on information stored in the meeting object 116, and/or a URLassociated with the virtual meeting room 108. The participant mayaccordingly use the participant device 110 to access the virtual meetingroom 108 at the date and time of the scheduled virtual meeting, based oninformation provided in the meeting invitation 120.

In examples in which the virtual meeting platform 104 provides a uniqueURL for the scheduled virtual meeting for each participant, the uniqueURL for the participant may be stored in a corresponding participantobject in the CRM platform 102 based on the meeting setup data 114returned from the virtual meeting platform 104. The CRM platform 102 canobtain the unique URL provided, by the virtual meeting platform 104, forthe participant from the participant object, and can include the uniqueURL in the meeting invitation 120. The participant can accordingly usethe unique URL, included in the meeting invitation 120, to access thevirtual meeting room 108 via a participant device.

In some examples, the meeting invitation 120 may be formatted with text,images, and/or other indicia associated with a business or company thatis affiliated with the host. For example, the meeting invitation 120 canbe an email that includes colors, logos, or other indicia associatedwith the host's company or business, rather than indicia associated withthe CRM platform 102 or the virtual meeting platform 104. The virtualmeeting platform 104 may similarly be configured to present the virtualmeeting room 108 using colors, logos, or other indicia associated withthe host's company or business, rather than indicia associated with theCRM platform 102 or the virtual meeting platform 104. As a non-limitingexample, if the host is an insurance agent affiliated with an insurancecompany, the meeting invitation 120 and/or the virtual meeting room 108may be branded with indicia of the insurance company, instead of indiciaassociated with other entities that may own or operate the CRM platform102 and/or the virtual meeting platform 104.

In some examples, if a user of the CRM platform 102 edits informationabout the virtual meeting, for instance to change a date or time of thevirtual meeting, the CRM platform 102 may be configured to store theedited attributes in the meeting object 116, and may send an updatedmeeting request to provide the edited attributes the virtual meetingplatform 104. The virtual meeting platform 104 may return updatedmeeting setup data 114 to the CRM platform 102 to confirm the changes tothe virtual meeting. The CRM platform 102 may also send a new meetinginvitation to each participant associated with the virtual meeting. Anew meeting invitation may inform a participant of a new date or time ofthe virtual meeting, or other edited attributes of the virtual meeting.

In addition to automatically sending a meeting invitation 120 for eachparticipant, in some examples the CRM platform 102 may automatically adda calendar entry associated with the virtual meeting to a digitalcalendar associated with the host, and/or send a similar meetinginvitation to an email account, telephone number, and/or other type ofcontact information associated with the host. As a non-limiting example,when the host or another user associated with the host schedules avirtual meeting via the CRM platform 102, the CRM platform 102 may beconfigured to automatically add the virtual meeting to the host'scalendar in Microsoft® Outlook® or another digital calendar.

In some examples, although the meeting invitation 120 provided to aparticipant may include a URL that the participant can use to directlyaccess the virtual meeting room 108, a similar meeting invitation orcalendar entry provided to the host may include a different URL or otherlink to the CRM platform 102 instead of the virtual meeting room 108.The link provided to the host, via a meeting invitation and/or acalendar entry, may enable the host to use host device 106 to access theCRM platform 102 and view information about the virtual meeting, and/orinitiate or join the virtual meeting via user input provided to the CRMplatform 102. For example, clicking the link may cause the host device106 to load a UI view in the CRM platform 102 that is associated withthe meeting object 116, such that the host can view details about thevirtual meeting as shown and described further below with respect toFIGS. 3A-3C.

The host may initiate or join the virtual meeting via the CRM platform102. For example, the host may log in to the CRM platform 102 via thehost device 106 using credentials associated with the CRM platform 102.The host may navigate to a UI view of the CRM platform 102 that displaysinformation about the virtual meeting, as shown and described furtherbelow with respect to FIGS. 3A-3C. The UI view may have button, link, orother selectable UI element that, if selected, causes the CRM platform102 to redirect the host device 106 to a web page associated with thevirtual meeting room 108. In some example, the redirection may cause thehost device 106 to navigate away from a web page associated with the CRMplatform 102 to another web page associated with the virtual meetingroom 108. In other examples, the redirection may cause the host device106 to open the web page associated with the virtual meeting room 108 ina new browser tab or window, such that the CRM platform 102 remainsaccessible in another browser tab or window during the virtual meeting.

In some examples, the CRM platform 102 may automatically provide hostcredentials associated with the host to an intermediate authenticationplatform (not shown), which can validate the host credentials andredirect the host device 106 to the virtual meeting room 108.Accordingly, because the host is already logged into the CRM platform102, the host can access the virtual meeting room 108 without having tore-enter credentials or manually provide different credentials to thevirtual meeting platform 104 when the virtual meeting begins. The CRMplatform 102 can thus provide a single sign-on (SSO) experience for thehost, even though the host ultimately engages in the virtual meeting viathe virtual meeting platform 104 separately from the CRM platform 102.

For example, when the host selects an option to join the virtual meetingin the CRM platform 102 via a web browser on the host device 106, theCRM platform 102 can call an intermediate authentication platform thatis configured to perform Security Assertion Markup Language (SAML)assertion associated with the virtual meeting platform 104. The CRMplatform 102 may provide a username and/or other login credentialsassociated with the host to the intermediate authentication platform. Insome examples, the login credentials may be the same login credentialsthe host uses to log in to the CRM platform 102. In other examples, thelogin credentials may be specific to the virtual meeting platform 104,but be stored by the CRM platform 102 such that the host does not needto re-enter the login credentials upon selecting the join meetingoption. The CRM platform 102 may also provide a virtual meetingidentifier and/or other information associated with the virtual meetingto the intermediate authentication platform. If the intermediateauthentication platform validates the credentials provided by the CRMplatform 102, the intermediate authentication platform may redirect aweb browser of the host device 106 to a web page associated with thevirtual meeting room 108.

As the host and one or more participants engage in the virtual meetingvia the virtual meeting room 108, the virtual meeting platform 104 maycollect data about the virtual meeting. For example, the virtual meetingplatform 104 may log when the host and/or one or more participantslogged in to the virtual meeting, log whether individuals did or did notlog in to the virtual meeting, track an actual duration of the virtualmeeting from start to finish, store copies of documents shared duringthe virtual meeting, create recordings of the virtual meeting, and/orotherwise collect data about the virtual meeting. After the conclusionof the virtual meeting, the virtual meeting platform 104 may transmitmeeting summary data 122, including the data collected by the virtualmeeting platform 104 about the virtual meeting, to a meeting recordrepository 124 associated with the host. The virtual meeting platform104 may also close the virtual meeting room 108 and purge the collecteddata about the virtual meeting from memory associated with the virtualmeeting platform 104.

In some examples, the meeting record repository 124 may be separate fromthe CRM platform 102. For instance, in examples in which the host is aninsurance agent associated with an insurance company, the virtualmeeting platform 104 may transmit the meeting summary data 122 to one ormore servers associated with the insurance company, where the meetingsummary data 122 can be stored for archival purposes, electronicdiscovery purposes, later analysis by other users associated with theinsurance company, and/or for any other reason. In other examples, thevirtual meeting platform 104 may also, or alternately, provide at leastsome meeting summary data 122 to the CRM platform 102 after the virtualmeeting concludes, such that the CRM platform 102 can update the meetingobject 116, participant objects, and/or other objects 126 based on themeeting summary data 122.

As shown in FIG. 1 , in some examples, the CRM platform 102 may alsostore other objects 126 in addition to meeting objects and participantobjects. Other objects 126 may be data objects that relate to othertypes of data, beyond meeting information, that can be tracked by theCRM platform 102. For example, one or more other objects 126 may storedata about customer accounts, customer purchase histories, currentand/or past sales opportunities associated with customers or prospectivecustomers, communications histories associated with customers, and/orother types of data. In some examples, one or more other objects 126 maybe linked to a meeting object, and/or to one or more participant objectslinked to a meeting object.

The CRM platform 102 may link one or more other objects 126 to a meetingobject and/or one or more participant objects, before and/or after avirtual meeting. As discussed above, the participant object 118 maystore information about a particular participant associated with avirtual meeting, including the participant's name and/or a unique URLprovided by the virtual meeting platform 104 that the participant canuse to access the virtual meeting room 108. However, the CRM platform102 may link the participant object 118 to one or more other objects 126associated with the participant. For example, the CRM platform 102 maylink the participant object 118 to another data object representing acustomer account associated with the participant, data objectsrepresenting current or past sales opportunities associated with theparticipant, data objects representing previous communications betweenthe host and the participant, and/or other types of data objectsrepresenting any other data associated with the participant that istracked by the CRM platform 102.

Linking other objects 126 to meeting objects and/or participant objectscan enable the CRM platform 102 to display information about scheduledvirtual meetings in UI views associated with the other objects 126. Forexample, a user of the CRM platform 102 may navigate to a UI view thatdisplays information about a customer account based on one or more otherobjects 126 associated with that customer account. If one or more of theother objects 126 are linked to a participant object 118 and/or ameeting object 116 associated with a scheduled virtual meeting, the CRMplatform 102 may display information about the scheduled virtual meetingalongside other information about the customer account. Accordingly, asa user views a customer account page associated with a particularcustomer account in the CRM platform 102, the customer account page mayindicate that a virtual meeting associated with the customer account hasbeen scheduled. The user may be able to click on, or otherwise select,the virtual meeting information in the customer account page, and beredirected to a different UI view that displays information about thescheduled virtual meeting, for instance as shown and described belowwith respect to FIGS. 3A-3C.

In some examples, the CRM platform 102 may be configured to determinetrends, key performance indicators (KPIs), business metrics, and/orother analytics by analyzing information stored in meeting objects,participant objects, and/or other objects 126 that are related to oneanother in the CRM platform 102. For example, the CRM platform 102 maydetermine from one or more other objects 126 that a particular customerpurchased an insurance policy in association with a particular salesopportunity tracked by the CRM platform 102. The CRM platform 102 mayalso determine, based on a meeting object and a participant objectassociated with the particular customer, that an insurance agent engagedin a virtual meeting with the particular customer two days before thecustomer purchased the insurance policy. The CRM platform 102 may beconfigured to determine, based on the meeting object, participantobject, and other objects 126, that the virtual meeting contributed tothe sale of the insurance policy.

Although FIG. 1 shows a single meeting object, the CRM platform 102 maycreate and store multiple meeting objects. Each meeting object may beassociated with a different virtual meeting that is in the process ofbeing scheduled, has been scheduled for a future time, and/or has beenheld in the past. For example, if a host schedules five virtual meetingsduring a week, the CRM platform 102 may create and store five meetingobjects that correspond to those five virtual meetings.

In some examples, the CRM platform 102 may continue to store meetingobjects, participant objects, and/or other objects 126 for at least atthreshold period of time after corresponding virtual meetings haveconcluded. For instance, if a host holds a virtual meeting representedby meeting object 116 on April 15, the CRM platform 102 may continue tostore the meeting object 116 and corresponding participant objects forweeks, months, years, or any other threshold period of time after April15. Accordingly, the CRM platform 102 may use meeting objects,participant objects, and/or corresponding other objects 126 to determinewhen previous virtual meetings were held, to determine whichparticipants were invited to previous virtual meetings, to determine ifprevious virtual meetings led to sales or changes to customer accounts,to determine other KPIs, trends, or business metrics associated withpreviously virtual meetings, and/or to perform other types of analysisassociated with previous virtual meetings.

In some examples, elements of the CRM platform 102 that create andmanage meeting objects and participant objects, and interface with thevirtual meeting platform 104, may be provided as integrated part of alarger CRM platform that uses other objects 126 to track other types ofcustomer information. In other examples, the elements of the CRMplatform 102 that create and manage meeting objects and participantobjects, and interface with the virtual meeting platform 104, may beprovided as an add-in, plug-in, or other enhancement to another CRMplatform that natively uses other objects 126 to track other types ofcustomer information, but does not natively interact with an externalvirtual meeting platform 104, and/or does not allow users to nativelyschedule and manage virtual meetings associated with a virtual meetingplatform 104. In still other examples, the elements of the CRM platform102 described herein that create and manage meeting objects andparticipant objects, and interface with the virtual meeting platform104, may be provided as a standalone application that may or may not useother objects 126 to track other types of customer information.

Overall, the CRM platform 102 can enable users to schedule and managevirtual meetings that will held via the virtual meeting platform 104directly through the CRM platform 102. This can be more convenient forusers who are already using the CRM platform 102 to track customerinformation or for other purposes, as the users may not need toseparately load the virtual meeting platform 104 in another browser tabor window in order to schedule a new virtual meeting, view informationabout scheduled virtual meetings, edit information about scheduledvirtual meetings, or join scheduled virtual meetings. Accordingly,integration between the CRM platform 102 and the virtual meetingplatform 104, including storing information about virtual meetings andassociated participants directly within the CRM platform 102 usingmeeting objects and participant objects, can save time and be moreconvenient for users of the CRM platform 102. The integration betweenthe CRM platform 102 and the virtual meeting platform 104 describedherein can also reduce memory usage, processor cycles, and/or othercomputing resources, relative to separately scheduling and managingvirtual meetings outside the CRM platform 102. For example, the hostdevice 106 can use less memory when scheduling and managing virtualmeetings via the CRM platform 102, relative to executing separatebrowser windows or tabs to access the CRM platform 102 and the virtualmeeting platform 104 separately when scheduling and managing virtualmeetings.

The meeting objects and participant objects also enable the CRM platform102 to display information about virtual meetings in a UI of the CRMplatform 102, and include links in the UI to other correspondingcustomer information stored in other objects 126. For example, the linksbetween meeting objects and/or participant objects, and other objects126, can allow a user of the CRM platform 102 to quickly navigatebetween scheduling or viewing information about a virtual meetingassociated with a customer, and to viewing account data or otherinformation about that customer. Accordingly, links between meetingobjects and/or participant objects, and other objects 126, can allowusers to schedule and manage virtual meetings in the same CRM platform102 that the users are using to track other types of customerinformation. This may also save time and be more convenient for users ofthe CRM platform 102, and may also reduce memory usage, processorcycles, and/or other computing resources, relative to scheduling andmanaging virtual meetings via a different application than anapplication users are already using to track customer information.

FIG. 2 shows an example of a meeting setup UI 200 that can be displayedvia the CRM platform 102. The host, or another user associated with thehost, can use the meeting setup UI 200 to enter information about a newvirtual meeting that is to be scheduled. The meeting setup UI 200 canhave fields, selectable options, and/or other UI elements that enable auser to enter information about a new virtual meeting.

In some examples, the CRM platform 102 may have a UI view that shows alist of scheduled virtual meetings, based on corresponding meetingobjects. This UI view may have a link that causes the CRM platform 102to display the meeting setup UI 200 so that a user can provide userinput to schedule a new virtual meeting. In other example, the CRMplatform 102 may have other UI elements that can lead to display of themeeting setup UI 200. For instance, the CRM platform 102 may have UIinterfaces associated with other objects 126 representing currentconversations with customers, such as text chats or other types ofcommunications. These UI interfaces may allow users to exchange emails,chat messages, or other communications with customers. However, the UIinterfaces may also have a link to the meeting setup UI 200, such that auser who is engaged in a conversation with a customer via a UI interfaceof the CRM platform 102 can use the meeting setup UI 200 to schedule anew virtual meeting with that customer.

The user can use the meeting setup UI to enter or confirm informationabout the host of the virtual meeting. In some examples, the hostinformation may be pre-populated in the meeting setup UI 200 based onlogin credentials that the user used to access the CRM platform 102. Forexample, if the host has a user account with the CRM platform 102, andlogs in using that user account, the CRM platform 102 may pre-populatethe host information field in the meeting setup UI 200 with the host'sname. In other examples, a user can type in the host information, selecthost information from a drop-down menu, and/or enter host information inany other way.

The user may also use the meeting setup UI 200 to enter informationabout a purpose of the virtual meeting. In some examples, the meetingsetup UI 200 may have a meeting purpose text field that allows the userto type in a description of the meeting purpose. In other examples, themeeting setup UI 200 may have selectable options, a drop-down menu,and/or any other types of UI elements that enable the user to selectbetween predefined meeting purpose types.

The user may also use the meeting setup UI 200 to enter details aboutthe date, time, and/or duration of the virtual meeting. For example, auser may provide user input defining a date, start time, and end timefor the virtual meeting, as shown in FIG. 2 . In other example, the usermay define a start date and/or end date for the virtual meeting, definea start time and a duration for the virtual meeting, and/or otherwiseselect date, time, and/or duration information for the virtual meeting.In some examples, the meeting setup UI 200 may have drop-down menus,allow users to select date and/or times based on pre-populated options,and/or have other types of UI elements that enable the user to enterdate, time, and/or duration information for the virtual meeting.

The CRM platform 102 may create a meeting object, such as meeting object116, based on meeting information provided by a user via the meetingsetup UI 200. For example, the CRM platform 102 may create the meetingobject 116 in memory, and use the meeting object 116 to store hostinformation, meeting purpose information, date, time, or durationinformation, and/or other virtual meeting attributes entered by a uservia the meeting setup UI 200.

In some examples, the meeting setup UI 200 may also have fields,selectable options, and/or other UI elements that enable a user to enterinformation about one or more participants to the virtual meeting, whichthe CRM platform 102 can use to create participant objects linked to themeeting object 116. However, in other examples, the meeting setup UI 200may have fields, selectable options, and/or other UI elements associatedwith types of data that can be stored in the meeting object 116, andparticipant information that can be stored in participant objects can bereceived via other UI views or screens different from the meeting setupUI 200, as discussed further below with respect to FIGS. 3A-3C.

The CRM platform 102 can also use the information provided by the uservia the meeting setup UI 200, stored in the meeting object 116, togenerate and send the meeting request 112 to the virtual meetingplatform 104. For example, the meeting request 112 may indicate hostinformation, meeting purpose information, date, time, or durationinformation, and/or other virtual meeting attributes that were receivedby the CRM platform 102 via the meeting setup UI 200. The virtualmeeting platform 104 may set up or schedule the virtual meeting room 108based on the information in the meeting request 112, and return meetingsetup data 114 to the CRM platform 102. The meeting setup data 114 mayindicate information about the virtual meeting room 108, such as avirtual meeting identifier associated with the virtual meeting room 108.The CRM platform 102 can accordingly add the virtual meeting identifier,and/or other information included in the meeting setup data 114, to themeeting object 116.

In some examples, the CRM platform 102 may send the meeting request 112once the meeting object 116 has been generated based on user inputprovided via the meeting setup UI 200. However, in other examples, theCRM platform 102 may store information provided via the meeting setup UI200 in the meeting object 116, but wait to send the meeting request 112to the virtual meeting platform 104 until after user input about atleast one participant has been received and a corresponding participantobject has been generated, as shown and described below with respect toFIGS. 3A-3C.

FIGS. 3A-3C show examples of a meeting detail UI 300 that can bedisplayed via the CRM platform 102. The host, or another user associatedwith the host, can use the meeting detail UI 300 to view informationabout a virtual meeting that has been scheduled, or is in the progressof being scheduled. In some examples, the CRM platform 102 can providethe meeting detail UI 300 for a virtual meeting after attributes of thevirtual meeting have been received via the meeting setup UI 200 shown inFIG. 2 and the CRM platform 102 has created a corresponding meetingobject for the virtual meeting.

The meeting detail UI 300 can include a meeting information section 302.The meeting information section 302 can display information stored inthe meeting object the represents the virtual meeting. For example, themeeting information section 302 can display some or all types ofinformation originally provided via the meeting setup UI 200 shown inFIG. 2 .

In some examples, the meeting information section 302 may include ameeting status indicator 304. The meeting status indicator 304 canindicate whether setup of the virtual meeting is still in progress, orwhether setup of the virtual meeting has been completed. In someexamples, setup of the virtual meeting may not be considered completeuntil information about at least one participant has been received.Accordingly, as shown in FIG. 3A, the meeting status indicator 304 mayindicate that meeting setup is still in progress if attributes of thevirtual meeting have been received via the meeting setup UI 200, but auser has not yet provided information about any participants for thevirtual meeting. However, the meeting status indicator 304 may indicatethat the virtual meeting has been created successfully after participantinformation has been received and corresponding participant objects havebeen created, as shown in FIGS. 3B and 3C.

The meeting detail UI 300 can include a meeting participant section 306.The meeting participant section 306 can display participant information308 associated with participants invited to the virtual meeting. Theparticipant information 308 can be based on information stored incorresponding participant objects that are linked to the meeting objectthat represents the virtual meeting. As shown in FIGS. 3B and 3C, themeeting participant section 306 can display different instances ofparticipant information 308, such as first participant information 308Aand second participant information 308B, associated with particularparticipants associated with the virtual meeting.

However, as shown in FIG. 3A, in some examples the CRM platform 102 mayinitially display the meeting detail UI 300 after user input about thevirtual meeting has been received via the meeting setup UI 200 shown inFIG. 2 . At this point, although the CRM platform 102 may have created ameeting object for the virtual meeting, the CRM platform 102 may not yethave received any participant information associated with the virtualmeeting, and as such may not yet have created or linked any participantobjects to the meeting object. Accordingly, in some examples, themeeting participant section 306 may initially have participantinformation 308 indicating that zero participants are associated withthe virtual meeting, as shown in FIG. 3A.

The meeting participant section 306 may have an add participant UIelement 310 that enables users to provide user input about aparticipant. Selection of the add participant UI element 310 can promptthe CRM platform 102 to display fields, selectable options, and/or otherUI elements that enable a user to enter information about a participantto be invited to the virtual meeting. Accordingly, users can search forand/or enter information about a new participant, such as the name ofthe participant, an email address and/or other contact information forthe participant, and/or other attributes of the participant.

In some examples, selection of the add participant UI element 310 maycause the CRM platform 102 to load another UI view, similar to themeeting setup UI 200, with UI elements that enable a user to enterparticipant information. In other examples, selection of the addparticipant UI element 310 may cause the CRM platform 102 to display aseparate pop-up window, or adjust the meeting participant section 306 orthe meeting detail UI 300 overall, to enable users to enter participantinformation.

When a user provides participant information via the add participant UIelement 310, the CRM platform 102 can create and link a correspondingparticipant object to the meeting object that represents the virtualmeeting. For example, the CRM platform 102 can create a new participantobject in memory, store the participant information received via the addparticipant UI element 310 in the participant object, and link theparticipant object to the meeting object. The CRM platform 102 can alsosend a meeting request to the virtual meeting platform 104 based onparticipant information provided by a user via the add participant UIelement 310. The CRM platform 102 can also add participant-specificinformation to the participant object based on meeting setup datareturned by the virtual meeting platform 104 in response to the meetingrequest, such as a participant-specific URL that the participant can useto access the virtual meeting room 108. The CRM platform 102 may alsoautomatically generate and send a meeting invitation based on theinformation in the participant object. For instance, the CRM platform102 may also automatically generate and send the meeting invitation 120to an email address of a participant indicated in the participant object118, and may include the participant-specific URL stored in theparticipant object in the meeting invitation 120.

As discussed above, in some examples, the CRM platform 102 may delaysending an initial meeting request to the virtual meeting platform 104until after meeting information has been received and stored in ameeting object, and until after participant information for at least oneparticipant has been received and stored in a participant object.Accordingly, once a user uses the add participant UI element 310 toprovide information about at least one participant to a virtual meetingrepresented by a meeting object, and stores the participant informationin a participant object, the CRM platform 102 can also send an initialmeeting request to the virtual meeting platform 104. The initial meetingrequest may include information about the virtual meeting based on themeeting object, and also include information about the participant basedon the participant object. The virtual meeting platform 104 may set upor schedule the virtual meeting room 108 based on the information in thein the meeting request, and return corresponding meeting setup data tothe CRM platform 102. The meeting setup data may indicate informationabout the virtual meeting room 108, such as a virtual meeting identifierassociated with the virtual meeting room 108, which the CRM platform 102can add to the meeting object. The meeting setup data may also includeinformation specific to the participant, such a unique URL theparticipant can use to access the virtual meeting room 108. The CRMplatform 102 can accordingly add the unique URL, and/or otherparticipant information returned in the meeting setup data, to theparticipant object.

The CRM platform 102 may also update the meeting detail UI 300 based onthe added participant information. For example, FIG. 3A shows an exampleof the meeting detail UI 300 in which the meeting participant section306 initially indicates zero participants and the meeting statusindicator 304 indicates that the that meeting setup is still inprogress. However, after a user has provided information about at leasta first participant via the add participant UI element 310, and the CRMplatform 102 has sent a meeting request to the virtual meeting platform104 and received corresponding meeting setup data from the virtualmeeting platform 104, the CRM platform 102 may update the meeting detailUI 300 as shown in FIG. 3B.

For example, the meeting status indicator 304 in FIG. 3B indicates thatthat the virtual meeting has been created successfully, becauseinformation about at least one participant has been associated with thevirtual meeting. The meeting participant section 306 in FIG. 3B alsoincludes first participant information 308A associated with the firstparticipant added to the virtual meeting, and indicates that oneparticipant has been associated with the virtual meeting in addition tothe host. The first participant information 308A can be based on datastored in a corresponding participant object. For example, the firstparticipant information 308A indicates a name and an email addressassociated with the first participant added to the virtual meeting,based on user input about the first participant provided via the addparticipant UI element 310. The first participant information 308A canalso include a unique URL for the first participant, and/or other dataspecific to the first participant data provided in meeting setup datareturned by the virtual meeting platform 104. As discussed above, theCRM platform 102 may automatically send a meeting invitation to thefirst participant, for instance by sending an email that includes theparticipant-specific URL indicated in the first participant information308A to the email address indicated in the first participant information308A.

Setup of the virtual meeting may be considered complete after at leastone participant has been associated with the virtual meeting, as shownin FIG. 3B. However, a user of the CRM platform 102 may choose to inviteone or more additional participants to the virtual meeting. Accordingly,the user may use the add participant UI element 310 to input informationabout a second participant to be invited to the virtual meeting. Suchinput can cause the CRM platform 102 to create a second participantobject linked to the meeting object, send a new or updated meetingrequest 112 to the virtual meeting platform 104 based on the addedsecond participant, and receive new or updated meeting setup data fromthe virtual meeting platform 104 based on the addition of the secondparticipant. The CRM platform 102 may accordingly add anyparticipant-specific information in the new or updated meeting setupdata to the second participant object for the added second participant.The CRM platform 102 may update the meeting detail UI 300 as shown inFIG. 3C to display second participant information 308B associated withthe added second participant, in addition to the first participantinformation 308A about the previously-added first participant. Forexample, if the meeting setup data returned by the virtual meetingplatform 104 includes a unique URL for each participant, the firstparticipant information 308A and the second participant information 308Bmay include different participant-specific URLs for the virtual meetingroom 108. The CRM platform 102 may also automatically send a meetinginvitation to the second participant, for instance by sending an emailthat includes the participant-specific URL indicated in the secondparticipant information 308B to the email address indicated in thesecond participant information 308B. Although FIG. 3C shows an examplein which two participants have been invited to a virtual meeting, a userof the CRM platform 102 may use the add participant UI element 310 toadd any number of participants to a scheduled virtual meeting.

In some examples, participant information 308, such as the firstparticipant information 308A or the second participant information 308B,can include links to other UI views associated with correspondingparticipants. For example, if the first participant information 308A isbased on participant object 118, and participant object 118 is linked toone or more other objects 126 associated with the first participant, auser may be able to click on the participant name displayed in the firstparticipant information 308A to navigate to a different UI view of theCRM platform 102 associated with the first participant. For instance,clicking on the participant name displayed in the first participantinformation 308A may load a different UI view associated with a customeraccount of the first participant, where a user of the CRM platform 102can view account information, communication histories, salesopportunities, and/or other types of data associated with the customeraccount.

In some examples, a user can use the meeting detail UI 300 to editinformation associated with the virtual meeting and/or correspondingparticipants. For example, the user may use an edit button 312 or otherediting features to change information about the virtual meeting and/orone or more participants shown in the meeting detail UI 300, addinformation about the virtual meeting and/or one or more participants,remove information about the virtual meeting and/or one or moreparticipants, or otherwise edit information stored in the meeting objectand/or corresponding participant objects. In some examples, editingmeeting information and/or participant information via the meetingdetail UI 300 can cause the CRM platform 102 to update a correspondingmeeting object and/or participant objects. In some situations, editingmeeting information and/or participant information via the meetingdetail UI 300 can also cause the CRM platform 102 to send an updatedmeeting request to the virtual meeting platform 104. For example, if auser edits the date or time of the virtual meeting in the meeting detailUI 300, the updated date or time can be saved in the meeting object 116,and the CRM platform 102 can also use an update API to send an updatedmeeting request that informs the virtual meeting platform 104 of theupdated date or time for the virtual meeting. The virtual meetingplatform 104 may return updated meeting setup data 114 to confirm thechange to the scheduled virtual meeting. The CRM platform 102 may alsobe configured to send updated meeting invitations to participants and/orthe host based on the changed attributes of the virtual meeting, and/orupdate a calendar entry associated with the virtual meeting on thehost's digital calendar.

The meeting detail UI 300 may have a selectable resend invitationsoption 314. In some examples, a user may select the resend invitationsoption 314 to cause the CRM platform 102 to automatically resend meetinginvitations, such as meeting invitation 120, to one or moreparticipants. For instance, if the participant calls the host and saysthey cannot find the original meeting invitation, the host may use theresend invitations option 314 to prompt the CRM platform 102 to resend acopy of the meeting invitation to the participant's email address. Inother examples, the resend invitations option 314 may allow the host tocopy a unique participant URL indicated in participant information 308,which the host may paste into a manually generated email, text message,or other type of notification.

The meeting detail UI 300 may have a selectable join meeting option 316.Although participants may use URLs, such as participant-unique URLs,sent in meeting invitations to access the virtual meeting room 108, thehost of the virtual meeting may access the virtual meeting room 108 byselecting the join meeting option 316 in the meeting detail UI 300 shownvia the CRM platform 102. In some examples, a calendar entry for thevirtual meeting added to a digital calendar of the host may include alink to the meeting detail UI 300 associated with the virtual meeting inthe CRM platform 102. Accordingly, the host may use the host device 106to navigate to the meeting detail UI 300 associated with the virtualmeeting within the CRM platform 102, or click on a link in the calendarentry to automatically load the meeting detail UI 300 associated withthe virtual meeting within the CRM platform 102.

The host may select the join meeting option 316 in the meeting detail UI300 shown via the CRM platform 102. Selection of the join meeting option316 can cause the CRM platform 102 to initiate a redirection of a webbrowser of the host device 106 from the CRM platform 102 to a web pagefor the virtual meeting room 108, for instance in the same or adifferent web browser or tab. In some examples, selection of the joinmeeting option 316 can cause the CRM platform 102 to provide storedlogin credentials associated with the host, a virtual meeting identifierassociated with the virtual meeting, and/or other information associatedwith the virtual meeting to an intermediate authentication platform. Theintermediate authentication platform may be configured to perform SAMLassertion associated with the virtual meeting platform 104, and redirectthe web browser of the host device 106 to a web page for the virtualmeeting room 108 if the intermediate authentication platform validatesthe login credentials provided by the CRM platform 102.

In some examples, the virtual meeting platform 104 may be configured todisplay a pop-up notification, or any other notification, to the hostwhen the host joins the meeting. For instance, in examples in which thehost is an insurance agent, the notification may remind the insuranceagent that he or she should not attempt to sell certain types ofinsurance during the virtual meeting, based on state or federal laws andguidelines, agent licensing credentials, or other factors.

The host and participants can engage in the virtual meeting via thevirtual meeting room 108. In some examples, the virtual meeting platform104 may be configured to display names of the host and/or participantson-screen during the virtual meeting, based on names of the host and/orparticipants provided by the CRM platform 102 in one or more meetingrequests. For example, the virtual meeting platform 104 may beconfigured to display a name of the first participant during the virtualmeeting, based on name information of the first participant provided bythe CRM platform 102 to the virtual meeting platform 104. Such nameinformation may have been initially received from a user via the addparticipant UI element 310, and may have been stored by the CRM platform102 in a corresponding participant object before being sent to thevirtual meeting platform 104.

In some examples, the virtual meeting platform 104 may also beconfigured to display status information about the host and/orparticipants during the virtual meeting. For example, the virtualmeeting platform 104 may be configured to track whichparticipant-specific URLs have been used by participants to log into thevirtual meeting room 108. Accordingly, when the virtual meeting platform104 determines that a particular participant-specific URL has been usedto log into the virtual meeting room 108, the virtual meeting platform104 may change a status associated with the participant namecorresponding to that particular participant-specific URL to indicatethat the participant is logged in. The virtual meeting platform 104 mayalso mark the participant-specific URL as used, and block any otherusers from accessing the virtual meeting room 108 via thatparticipant-specific URL.

As discussed above, the virtual meeting platform 104 may collect dataduring the virtual meeting. For example, the virtual meeting platform104 may times when the host and/or one or more participants logged in tothe virtual meeting, log whether individuals did or did not log in tothe virtual meeting, track an actual duration of the virtual meetingfrom start to finish, store copies of documents shared during thevirtual meeting, create recordings of the virtual meeting, and/orotherwise collect data about the virtual meeting. After the conclusionof the virtual meeting, the virtual meeting platform 104 may close thevirtual meeting room 108, transmit the collected data associated withthe virtual meeting to the meeting record repository 124 as meetingsummary data 122, and may purge the collected data from memoryassociated with the virtual meeting platform 104.

FIG. 4 shows a flowchart of an example process 400 by which the CRMplatform 102 can schedule and manage a virtual meeting associated withthe virtual meeting platform 104.

At block 402, the CRM platform 102 can receive user input defininginformation about a new virtual meeting. For example, the CRM platform102 can display the meeting setup UI 200 described above in response toa user selection of a virtual meeting scheduling option in the CRMplatform 102, and a user can provide information about the new virtualmeeting via the meeting setup UI 200. In some examples, the CRM platform102 can validate the user input, and output error messages if the userinput cannot be validated. For instance, if a user enters an end timefor the virtual meeting that is before the start time entered for thevirtual meeting, the CRM platform 102 may display an error messageasking the user to correct the start and/or end times for the virtualmeeting.

At block 404, the CRM platform 102 can create the meeting object 116 inmemory as a data object that represents the new virtual meeting, andthat can store the information received at block 402 about the virtualmeeting in the meeting object 116. In some examples, the CRM platform102 can also display the information about the new virtual meeting,stored in the meeting object 116, via the meeting detail UI 300. In someexamples, the meeting detail UI 300 may use the meeting status indicator304 to indicate that setup of the virtual meeting is still in progress,because no participant information has yet been received.

At block 406, the CRM platform 102 can receive user input definingparticipant information about a new participant to the virtual meeting.For example, the CRM platform 102 can display UI elements that enable auser to provide participant information in response to a user selectionof the add participant UI element 310 in the meeting detail UI 300, anda user can provide information about the new participant via those UIelements. In some examples, the CRM platform 102 can validate the userinput, and output error messages if the user input cannot be validated.For instance, if a user enters an email address for the participantusing an invalid format for the email address, the CRM platform 102 maydisplay an error message asking the user to correct the format of theemail address.

At block 408, the CRM platform 102 can create a participant object, suchas participant object 118, in memory as a data object that representsthe new participant. The CRM platform 102 can also store the informationreceived at block 406 about the participant in the participant object118.

At block 410, the CRM platform 102 can transmit the meeting request 112to the virtual meeting platform 104. The meeting request 112 canindicate attributes of the virtual meeting stored in the meeting object116 at block 404, such as a host identifier, date, time, duration,and/or other attributes of the virtual meeting. The meeting request 112may also indicate attributes of the participant stored in theparticipant object 118 at block 408, such as a name of the participantand an email address of the participant.

At block 412, the CRM platform 102 can receive meeting setup data 114from the virtual meeting platform 104, in response to the meetingrequest 112 sent at block 410. The meeting setup data 114 may confirmthat the virtual meeting platform 104 will provide the virtual meetingroom 108 at the date and time indicated in the meeting request 112. Themeeting setup data 114 may also include a virtual meeting identifierassociated with the virtual meeting room 108, and/or a URL by which theparticipant can access the virtual meeting room 108. In some examples,URL provided for the participant by the virtual meeting platform 104 maybe a unique URL specific to the participant.

At block 414, the CRM platform 102 may update the meeting object 116and/or the participant object 118 based on the meeting setup data 114received from the virtual meeting platform 104 at block 412. Forexample, the CRM platform 102 can add a virtual meeting identifierassociated with the virtual meeting room 108 to the meeting object 116based on the meeting setup data 114, in addition to other informationstored in the meeting object 116 based on user input received at block402. Similarly, the CRM platform 102 can add a participant-specific URLfor the virtual meeting room 108 to the participant object 118 based onthe meeting setup data 114, in addition to other information stored inthe participant object 118 based on user input received at block 406.

At block 416, the CRM platform 102 may generate and send a meetinginvitation to an email address, or other contact information, indicatedin the participant object 118. The meeting invitation may include theparticipant-specific URL for the virtual meeting room 108 returned bythe virtual meeting platform 104. In some examples, the CRM platform 102may send a similar meeting invitation to an email address of the host,and/or automatically add a calendar entry for the virtual meeting to adigital calendar associated with the host. The meeting invitation and/orcalendar entry provided by the CRM platform 102 for the host may includea link to the meeting detail UI 300, such that the host can later jointhe virtual meeting by using the link to load the meeting detail UI 300and then selecting the join meeting option 316 via the meeting detail UI300 as discussed below with respect to block 422.

In some examples, the CRM platform 102 can also display the meetingdetail UI 300, and/or update information shown in the meeting detail UI300, based on the meeting setup data 114 returned at block 412. Forexample, the CRM platform 102 may update the meeting status indicator304 to that that the virtual meeting has been created successfully,and/or update the meeting participant section 306 to include participantinformation 308 including the participant-specific URL associated withthe added participant.

In some examples, the CRM platform 102 may wait to send the meetingrequest at block 410 until after virtual meeting information has beenreceived and stored at blocks 402 and 404, and until after participantinformation for at least one participant has been received at blocks 406and 408. For example, although the CRM platform 102 may display themeeting detail UI 300 after block 406, the meeting detail UI 300 mayinitially that zero participants have been invited to the virtualmeeting as shown at FIG. 3A. At this point, the CRM platform 102 may notyet have sent a meeting request to the virtual meeting platform 104 orreceived a virtual meeting identifier from the virtual meeting platform104. However, after receiving and storing information about at least oneparticipant at blocks 406 and 408, the CRM platform 102 may send themeeting request and receive meeting setup data containing a virtualmeeting identifier and a participant-specific URL from the virtualmeeting platform 104 in return, such that the CRM platform 102 canupdate the meeting object 116 and the participant object 118 based onthe meeting setup data.

However, in other examples, the CRM platform 102 may send an initialmeeting setup request to the virtual meeting platform 104 after block404, based on receiving and storing virtual meeting information atblocks 402 and 404. In these examples, the virtual meeting platform 104may return a virtual meeting identifier for the virtual meeting ininitial meeting setup data, such that the CRM platform 102 can add thevirtual meeting identifier to the meeting object 116 even though noparticipants have yet been added. When participant information is laterreceived and stored at blocks 406 and 408, the CRM platform 102 may senda separate meeting request to the virtual meeting platform that includesthe participant information and references the already-received virtualmeeting identifier, and the virtual meeting platform 104 may returnadditional meeting setup data that includes a participant-specific URLthat the added participant can use to access the virtual meeting room108 corresponding to the virtual meeting identifier. Accordingly, theCRM platform 102 can add the participant-specific URL to the participantobject 118 based on the additional meeting setup data returned by thevirtual meeting platform 104.

At block 418, the CRM platform 102 can determine whether any additionalparticipant information has been received. For example, although setupof the virtual meeting may be considered complete after at least oneparticipant has been added to the virtual meeting, the CRM platform 102may allow users to also invite any number of additional participants tothe virtual meeting. For instance, a user may use the add participant UIelement 310 to input information about an additional participant. Ifsuch additional participant information has been received (Block418—Yes), the CRM platform 102 can store the additional participantinformation in a new participant object at block 408, send a new meetingrequest based on the additional participant information to the virtualmeeting platform 104 at block 410, receive new meeting setup dataincluding a participant-specific URL for the additional participant atblock 412, and add the new participant-specific URL for the additionalparticipant to the new participant object at block 418. The CRM platformcan repeat blocks 408-418 for any number of additional participants.

However, if no additional participant information is received (Block418—No), the CRM platform 102 can wait at block 420 until the hostselects the join meeting option 316 via the meeting detail UI 300associated with the virtual meeting. As discussed above, the host mayuse a link in a meeting invitation and/or calendar entry provided by theCRM platform 102 to load the meeting detail UI 300, or otherwisenavigate to the meeting detail UI 300 in the CRM platform 102.

Once the host selects the join meeting option 316 via the host device106 (Block 420—Yes), the CRM platform 102 can cause the host device 106to be redirected to a web page for the virtual meeting room 108 at block422. For example, at block 422 the CRM platform 102 may provide storedlogin credentials associated with the host, a virtual meeting identifierassociated with the virtual meeting, and/or other information associatedwith the virtual meeting to an intermediate authentication platform. Theintermediate authentication platform may be configured to perform SAMLassertion associated with the virtual meeting platform 104, and redirectthe web browser of the host device 106 to a web page for the virtualmeeting room 108 if the intermediate authentication platform validatesthe login credentials provided by the CRM platform 102. Accordingly,after block 422, the host can engage in the virtual meeting along withany or all of the participants who have also joined the virtual meetingroom 108.

The system 100 may implement process 400, and generate and display themeeting setup UI 200 and the meeting detail UI 300, using one or morecomputing devices. An example system architecture for such a computingdevice is described below with respect to FIG. 5 .

FIG. 5 shows an example system architecture 500 for a computing device502 associated with the system 100 described herein. The computingdevice 502 can be a server, computer, or other type of computing devicethat executes at least a portion of the system 100, such as one or moreelements of the CRM platform 102, the virtual meeting platform 104, thehost device 106, the participant device 110, or the meeting recordrepository 124. In some examples, elements of the system 100 can bedistributed among, and/or be executed by, multiple computing devices.For instance, elements of the CRM platform 102 can be executed by one ormore computing devices, while the virtual meeting platform 104 can beexecuted by one or more other computing devices. The host device 106,the participant device 110, and/or the meeting record repository 124 canbe still further computing devices.

The computing device 502 can include memory 504. In various examples,the memory 504 can include system memory, which may be volatile (such asRAM), non-volatile (such as ROM, flash memory, etc.) or some combinationof the two. The memory 504 can further include non-transitorycomputer-readable media, such as volatile and nonvolatile, removable andnon-removable media implemented in any method or technology for storageof information, such as computer readable instructions, data structures,program modules, or other data. System memory, removable storage, andnon-removable storage are all examples of non-transitorycomputer-readable media. Examples of non-transitory computer-readablemedia include, but are not limited to, RAM, ROM, EEPROM, flash memory orother memory technology, CD-ROM, digital versatile discs (DVD) or otheroptical storage, magnetic cassettes, magnetic tape, magnetic diskstorage or other magnetic storage devices, or any other non-transitorymedium which can be used to store desired information and which can beaccessed by the computing device 502. Any such non-transitorycomputer-readable media may be part of the computing device 502.

The memory 504 can store modules and data 506. In some examples, themodules and data 506 can include data associated with the CRM platform102, such as meeting objects, participant objects, and/or other objects.The modules and data 506 can also include any other modules and/or datathat can be utilized by the computing device 502 to perform or enableperforming any other actions. Such other modules and data can include aplatform, operating system, and applications, and data utilized by theplatform, operating system, and applications.

The computing device 502 can also have processor(s) 508, communicationinterfaces 510, displays 512, output devices 514, input devices 516,and/or a drive unit 518 including a machine readable medium 520.

In various examples, the processor(s) 508 can be a central processingunit (CPU), a graphics processing unit (GPU), both a CPU and a GPU, orany other type of processing unit. Each of the one or more processor(s)508 may have numerous arithmetic logic units (ALUs) that performarithmetic and logical operations, as well as one or more control units(CUs) that extract instructions and stored content from processor cachememory, and then executes these instructions by calling on the ALUs, asnecessary, during program execution. The processor(s) 508 may also beresponsible for executing computer applications stored in the memory504, which can be associated with common types of volatile (RAM) and/ornonvolatile (ROM) memory.

The communication interfaces 510 can include transceivers, modems,interfaces, antennas, telephone connections, and/or other componentsthat can transmit and/or receive data over networks, telephone lines, orother connections.

The display 512 can be a liquid crystal display or any other type ofdisplay commonly used in computing devices. For example, a display 512may be a touch-sensitive display screen, and can then also act as aninput device or keypad, such as for providing a soft-key keyboard,navigation buttons, or any other type of input.

The output devices 514 can include any sort of output devices known inthe art, such as a display 512, speakers, a vibrating mechanism, and/ora tactile feedback mechanism. Output devices 514 can also include portsfor one or more peripheral devices, such as headphones, peripheralspeakers, and/or a peripheral display.

The input devices 516 can include any sort of input devices known in theart. For example, input devices 516 can include a microphone, akeyboard/keypad, and/or a touch-sensitive display, such as thetouch-sensitive display screen described above. A keyboard/keypad can bea push button numeric dialing pad, a multi-key keyboard, or one or moreother types of keys or buttons, and can also include a joystick-likecontroller, designated navigation buttons, or any other type of inputmechanism.

The machine readable medium 520 can store one or more sets ofinstructions, such as software or firmware, that embodies any one ormore of the methodologies or functions described herein. Theinstructions can also reside, completely or at least partially, withinthe memory 504, processor(s) 508, and/or communication interface(s) 510during execution thereof by the computing device 502. The memory 504 andthe processor(s) 508 also can constitute machine readable media 520.

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter is not necessarily limited to the specificfeatures or acts described above. Rather, the specific features and actsdescribed above are disclosed as example embodiments.

What is claimed is:
 1. A computer-implemented method, comprising:receiving, by one or more processors, and via a customer relationshipmanagement (CRM) platform, input indicating: meeting attributes of avirtual meeting, and participant attributes of a participant associatedwith the virtual meeting; generating, by the one or more processors, andbased on the input: a meeting data object that stores the meetingattributes; and a participant data object, linked to the meeting dataobject, that stores the participant attributes; transmitting, by the oneor more processors, and to a virtual meeting platform, a meeting requestindicating data based on at least one of the meeting data object or theparticipant data object; receiving, by the one or more processors, andfrom the virtual meeting platform in response to the meeting request,meeting setup data associated with hosting of the virtual meeting by thevirtual meeting platform; and adjusting, by the one or more processors,at least one of the meeting data object or the participant data objectbased on the meeting setup data.
 2. The computer-implemented method ofclaim 1, wherein the meeting data object and the participant data objectare separate data objects maintained by the CRM platform.
 3. Thecomputer-implemented method of claim 1, wherein: the meeting setup dataindicates a virtual meeting identifier assigned by the virtual meetingplatform to the virtual meeting, and the one or more processors adjustthe meeting data object to indicate the virtual meeting identifier. 4.The computer-implemented method of claim 1, wherein: the meeting setupdata indicates a Uniform Resource Locator (URL), provided by the virtualmeeting platform, associated with the virtual meeting, and the one ormore processors adjust the participant data object to indicate the URL.5. The computer-implemented method of claim 4, wherein the URL is adedicated URL that is specific to the participant.
 6. Thecomputer-implemented method of claim 1, further comprising: identifying,by the one or more processors, and based on the participant data object,an email address associated with the participant; and causing, by theone or more processors, transmission of an electronic meeting invitationto the email address, the electronic meeting invitation indicatinginformation associated with the virtual meeting based on at least one ofthe meeting data object or the participant data object.
 7. Thecomputer-implemented method of claim 1, further comprising causing, bythe one or more processors, a user interface of the CRM platform todisplay information associated with the virtual meeting based on atleast one of the meeting data object or the participant data object. 8.The computer-implemented method of claim 1, further comprising:receiving, by the one or more processors, and from a host device via theCRM platform, a request to join the virtual meeting; and causing, by theone or more processors, redirection of the host device from the CRMplatform to the virtual meeting.
 9. The computer-implemented method ofclaim 1, further comprising: receiving, by the one or more processors,and via the CRM platform, second input indicating edited meetingattributes associated with the virtual meeting; transmitting, by the oneor more processors, and to the virtual meeting platform, an updatedmeeting request indicating the edited meeting attributes; receiving, bythe one or more processors, and from the virtual meeting platform inresponse to the updated meeting request, updated meeting setup data; andadjusting, by the one or more processors, the meeting data object basedon at least one of the second input or the updated meeting setup data.10. The computer-implemented method of claim 1, further comprising:receiving, by the one or more processors, and via the CRM platform,second input indicating second participant attributes of a secondparticipant associated with the virtual meeting; generating, by the oneor more processors, and based on the second input, a second participantdata object, linked to the meeting data object, that stores the secondparticipant attributes; transmitting, by the one or more processors, andto the virtual meeting platform, an updated meeting request indicatingsecond data based on the participant data object; receiving, by the oneor more processors, and from the virtual meeting platform in response tothe updated meeting request, second meeting setup data; and adjusting,by the one or more processors, the second participant data object basedon the second meeting setup data.
 11. A computing system, comprising:one or more processors; and memory storing computer-executableinstructions associated with a customer relationship management (CRM)platform that, when executed by the one or more processors, cause theCRM platform to: receive first input indicating meeting attributes of avirtual meeting, generate a meeting data object, in the CRM platform,that stores the meeting attributes; receive second input indicatingparticipant attributes of a participant associated with the virtualmeeting; generate a participant data object, in the CRM platform, andlinked to the meeting data object, that stores the participantattributes; transmit, to a virtual meeting platform separate from theCRM platform, a meeting request indicating data based on at least one ofthe meeting data object or the participant data object; receive, fromthe virtual meeting platform in response to the meeting request, meetingsetup data associated with hosting of the virtual meeting by the virtualmeeting platform; and adjust at least one of the meeting data object orthe participant data object based on the meeting setup data.
 12. Thecomputing system of claim 11, wherein: the meeting setup data indicatesa virtual meeting identifier and a Uniform Resource Locator (URL) thatthe virtual meeting platform associates with the virtual meeting, theCRM platform adjusts the meeting data object to indicate the virtualmeeting identifier, and the CRM platform adjusts the participant dataobject to indicate the URL.
 13. The computing system of claim 11,wherein the computer-executable instructions further cause the CRMplatform to: identify, based on the participant data object, an emailaddress associated with the participant; and transmit, to the emailaddress, an electronic meeting invitation indicating informationassociated with the virtual meeting based on at least one of the meetingdata object or the participant data object.
 14. The computing system ofclaim 11, wherein the computer-executable instructions further cause theCRM platform to: receive third input indicating edited meetingattributes associated with the virtual meeting; transmit, to the virtualmeeting platform, an updated meeting request indicating the editedmeeting attributes; receive, from the virtual meeting platform inresponse to the updated meeting request, updated meeting setup data; andadjust the meeting data object based on at least one of the third inputor the updated meeting setup data.
 15. The computing system of claim 11,wherein the computer-executable instructions further cause the CRMplatform to: receive third input indicating second participantattributes of a second participant associated with the virtual meeting;generate a second participant data object, in the CRM platform, andlinked to the meeting data object, that stores the second participantattributes; transmit, to the virtual meeting platform, an updatedmeeting request indicating second data based on the participant dataobject; receive, from the virtual meeting platform in response to theupdated meeting request, second meeting setup data; and adjust thesecond participant data object based on the second meeting setup data.16. One or more non-transitory computer-readable media storingcomputer-executable instructions associated with a customer relationshipmanagement (CRM) platform that, when executed by one or more processors,cause the one or more processors to: receive first input indicatingmeeting attributes of a virtual meeting, generate a meeting data object,in the CRM platform, that stores the meeting attributes; receive secondinput indicating participant attributes of a participant associated withthe virtual meeting; generate a participant data object, in the CRMplatform, and linked to the meeting data object, that stores theparticipant attributes; transmit, to a virtual meeting platform separatefrom the CRM platform, a meeting request indicating data based on atleast one of the meeting data object or the participant data object;receive, from the virtual meeting platform in response to the meetingrequest, meeting setup data associated with hosting of the virtualmeeting by the virtual meeting platform; and adjust at least one of themeeting data object or the participant data object based on the meetingsetup data.
 17. The one or more non-transitory computer-readable mediaof claim 16, wherein: the meeting setup data indicates a virtual meetingidentifier and a Uniform Resource Locator (URL) that the virtual meetingplatform associates with the virtual meeting, the one or more processorsadjust the meeting data object to indicate the virtual meetingidentifier, and the one or more processors adjust the participant dataobject to indicate the URL.
 18. The one or more non-transitorycomputer-readable media of claim 16, wherein the computer-executableinstructions further cause the one or more processors to: identify,based on the participant data object: an email address associated withthe participant; and a Uniform Resource Locator (URL) that the virtualmeeting platform associates with the virtual meeting; and transmit, tothe email address, an electronic meeting invitation indicating the URL.19. The one or more non-transitory computer-readable media of claim 16,wherein the computer-executable instructions further cause the one ormore processors to: receive third input indicating at least one ofedited meeting attributes or additional participant data associated withan additional participant associated with the virtual meeting; transmit,to the virtual meeting platform, an updated meeting request based on thethird input; receive, from the virtual meeting platform in response tothe updated meeting request, updated meeting setup data; and adjust,based on at least one of the third input or the updated meeting setupdata, at least one of: the meeting data object, or a second participantdata object associated with the additional participant.
 20. A systemcomprising: means for receiving, via a customer relationship management(CRM) platform, first input indicating meeting attributes of a virtualmeeting, means for generating a meeting data object, in the CRMplatform, that stores the meeting attributes; means for receiving, viathe CRM platform, second input indicating participant attributes of aparticipant associated with the virtual meeting; means for generating aparticipant data object, in the CRM platform and linked to the meetingdata object, that stores the participant attributes; means fortransmitting, to a virtual meeting platform separate from the CRMplatform, a meeting request indicating data based on at least one of themeeting data object or the participant data object; means for receiving,from the virtual meeting platform in response to the meeting request,meeting setup data associated with hosting of the virtual meeting by thevirtual meeting platform; and means for adjusting at least one of themeeting data object or the participant data object based on the meetingsetup data.